1. Field of the Invention
The invention concerns the combination of image compression and color management by creating a color image file wherein the color image data is provided in a color space that is both device and viewing condition independent and wherein the color image data is compressed. The color image file thereby allows convenient transfer of the color image data for output on a destination device, whereupon the transformation of the color image data to the color space and determination of the gamut boundary of the destination device does not require the color profile of the source device.
2. Description of the Related Art
Color images are typically encountered in computing environments for display on monitors and for printing on color printers. With the growing popularity of the Internet and of digital color devices such as digital cameras and digital video cameras, the use of color images in computing environments has, and will continue to, increase significantly. Data corresponding to a color image is commonly stored in a data file provided on some type of recording medium, such as a hard disk, floppy or CD-ROM, thereby allowing the color image data to be transferred for output to other devices.
Color image data is provided to a computer or computing device from a variety of input devices, such as scanners, floppy disks, CD-ROMs, the Internet, digital cameras and digital video cameras. The color image data can then be viewed by sending it to a variety of output devices such as monitors, printers, digital projectors, digital cameras and digital video cameras. Generally, such input and output devices operate in a specific device dependent color space. Since different devices use different combinations of media, colorants and the like, with outputs being viewed under different viewing conditions, any one image will appear to differ in color from one device to another. For instance, a monitor typically utilizes red, green and blue light on a black screen to generate a color image and therefore is said to operate in RGB color space. A printer, on the other hand, typically generates color by combining inks of the colors cyan, magenta, yellow and black on a white medium and therefore is said to operate in CMYK color space. To further complicate matters, although two devices may operate in the same color space, they may not mix colors in the same fashion to achieve the same color appearance. The characteristic way in which a device reproduces color is often referred to as the device""s color space. Information that describes the device""s color space is referred to as a device color profile.
In addition to the different color spaces, and the different ways in which the colors of a single color space can be mixed and represented, there is also a significant variation in the gamut of colors that each device is capable of representing under given viewing conditions. For instance, a monitor may only be capable of displaying a limited range of the color red, while a printer may be capable of displaying a wide range of the color red. The measurement of this color range limitation is commonly referred to as the color gamut boundary of the device and it describes the color gamut limitations of the device under certain viewing conditions.
Because of differences in color reproduction characteristics between devices, conventional color management systems are commonly utilized to ameliorate the detrimental effects that differing device color profiles may ultimately introduce into the appearance of a color image from its initial recordation by an input device to its eventual display on an output device. Conventional color management systems attempt to make the color image appear the same regardless of the input and output devices that are used by transforming the color image data contained in the image data file from the color space and color gamut boundary of the input device to the color space and color gamut boundary of the output device. Many color management systems provide a preferred reproduction of the color image instead of trying to make the color image appear the same. This color management process commonly requires the use of the device color profile for the input device and the device color profile for the output device. A color profile provides information regarding the color space that is utilized by the particular device and the manner in which it is utilized.
As a further consideration, because of the size of color image files, color image data is typically maintained in a data file which is in a standard compressed format, such as the JPEG format (Joint Photographic Experts Group). To achieve the JPEG format, the color image data is transformed from the initial color space of the source device, such as RGB, into an interim color space, such as YUV, which is more efficiently compressible. YUV color space is the colorimetry commonly used in broadcast television, where Y is a luminance signal and U and V are chrominance signals. The image data is sampled and compressed using a discrete cosine transform (DCT) algorithm in which the cosine coefficients are quantized and converted to integers. A wavelet-based compression algorithm is utilized in place of the DCT algorithm according to the emerging JPEG 2000 standard. The image data is further compressed using Huffman encoding and is then placed in a JPEG file. The JPEG file can then be transferred to another computing device after which the image data is decompressed and retransformed from YUV to RGB so as to recover the original source image data in RGB color space, albeit with some loss due to compression. Thus the JPEG scheme involves an end-to-end process wherein the color space of the image data at the beginning of the process is the same as the color space of the image data at the end of the process. The recovered RGB image data can then be transformed to the color space that corresponds to the destination device, such as CMYK color space for a printer, after which the image data is sent to the destination device for output.
As mentioned above, however, the transformation of image data from the color space of a source (input) device to the color space of a destination (output) device can introduce significant variation in appearance of the image when ultimately output on the destination device. For this reason, a color management process is often introduced after decompression and retransformation of the JPEG file into decompressed RGB color image data. As discussed above, conventional color management systems utilize at least two color profiles, one from the source device and one from the destination device, in order to match the appearance of the color image data from the color space and color gamut boundary of the source device into the color space and color gamut boundary of the destination device.
For example, a color management system currently being worked on for the International Color Consortium (ICC) Reference Implementation utilizes device profiles which are based upon a standardized color model. The ICC color management system utilizes what is known as an ICC device profile for the source device and for the destination device. An ICC device profile includes a device specific color appearance look-up table and a device specific gamut boundary description. A color management module (CMM) is implemented which, after decompression of a JPEG image file, takes the decompressed, recovered color image data in RGB color space and then transforms it to a standardized, color space that is both device and viewing condition independent, such as Jab, according to a standard such as the International Commission on Illumination""s (CIE) Colour Appearance Model (CAM), CIECAM97s JCh color space. Jab color space is a rectangular coordinate system version of the JCh color space cylindrical coordinate system in which J is lightness, C is chroma, and h represents hue. This standardized color space represents the image""s appearance independently of any particular device or viewing conditions.
In this example, the transformation to this standardized color space is performed by utilizing the device specific color appearance look-up table of the ICC device profile for the source device. After the transformation to the Jab color space, the device specific gamut boundary descriptions of the source device and of the destination device are then utilized to map the color gamut of the image data to fit within the color gamut of the destination device. The device specific color appearance look-up table from the ICC device profile of the destination device is then used to transform the image data from the Jab color space to the destination device color space, such as CMYK color space for a printer. The above-described process for gamut-mapping may also be performed with an image-specific, rather than a source device specific, gamut boundary description to achieve more efficient and tailored gamut-mapping of the color image data into the color gamut of the destination device. The color image data in destination device color space is then sent to the destination device for output.
The combination of the conventional image compression scheme and color management scheme described above is inefficient for several reasons. First, the combined processes for compression and color management as described above require four color space transformations to transform the color image data from the initial source device color space to the destination device color space (RGB-YUV-RGB-Jab-CMYK). These transformations are costly in terms of processing overhead every time that a color image file is decompressed and prepared for output on a destination device. Second, the conventional color management scheme requires that the color profile of the source device must be passed along with the compressed JPEG image file in order to support color management prior to outputting the image on a destination device. This results in increased image file size and complexity in image file management.
The present invention addresses the foregoing problems by providing an image compression and color management scheme which uses the source device color profile to transform color image data into a standardized, color space that is both device and viewing condition independent before compression. Upon subsequent decompression, color management can transform the color image data as needed to accommodate the destination device color profile prior to output of the color image data on the destination device. In addition, the present invention addresses the foregoing problems by providing an image compression and color management scheme in which an image-specific gamut boundary description is extracted from the color image data for use in a color management process prior to output of the color image data on a destination device, thereby avoiding the need for the device profile of the source device during the color management process.
Thus, in a first aspect of the invention, color image data is obtained from a source device which provides the color image data in a source device color space. A source device color profile corresponding to the source device is then accessed, after which the color image data is transformed, through the use of the source device color profile, from the source device color space to a standardized, color space that is both device and viewing condition independent, thereby creating device independent color image data. In the preferred form, the standardized, color space that is both device and viewing condition independent is the Jab color space. The device independent color image data is then compressed to reduce the size of the data. In the preferred form, the compression of the device independent color image data comprises the use of discrete cosine transform (DCT) and Huffman encoding algorithms and the compressed device independent color image data is placed in a file. Also in the preferred form, an image-specific gamut boundary description is extracted from the device independent color image data prior to compression and is placed in a file with the compressed, device independent color image data.
By virtue of this arrangement, the present invention provides compressed color image data in a standardized, color space that is both device and viewing condition independent, whereby the color image data can be accessed, decompressed and then used directly in a color management scheme. The invention therefore reduces the number of color space transformations of the color image data during the compression and color management processes, and furthermore avoids the need to transmit the source device color profile to the recipient, thereby saving processing overhead every time that a color image file is decompressed and prepared for output on a destination device.
In another aspect of the invention, the compressed, device independent color image data, as created pursuant to the discussion immediately above, is accessed and is then decompressed. In the preferred form, the compressed, device independent color image data is accessed from a file and the standardized color space that is both device and viewing condition independent is the Jab color space. Also in the preferred form, the decompression of the device independent color image data comprises the use of inverse discrete cosine transform (DCT) and Huffman decoding algorithms. A destination device color profile corresponding to a destination device is then accessed. The device independent image data is then transformed, through the use of the destination device color profile, from the standardized, color space that is both device and viewing condition independent to the color space of the destination device, thereby creating destination-dependent color image data for output on the destination device.
In addition, preferred embodiments of the invention access an image-specific gamut boundary description, corresponding to the device independent color image data. In the preferred embodiments, the image-specific gamut boundary description is extracted from the device independent color image data prior to compression, and is then placed in a file which contains the compressed device independent color image data. The image-specific gamut boundary description is then accessed from the file. In those embodiments which do not extract the image-specific gamut boundary description from the device independent color image data prior to compression, the image-specific gamut boundary description is extracted from the device independent color image data after decompression for subsequent access and use during color management. The device independent color image data is then mapped from the image-specific gamut boundary description to a destination-specific gamut boundary description which is obtained from the destination device color profile. It is the gamut mapped data that is transformed, as discussed above, to the destination device color space by using the destination device color profile.
By virtue of this arrangement, the present invention provides compressed color image data in a standardized, color space that is both device and viewing condition independent, whereby the color image data can be accessed, decompressed and then used directly in a color management scheme. The invention therefore reduces the number of color space transformations of the color image data during the compression and color management processes, thereby saving processing overhead every time that the color image data is decompressed and prepared for output on a destination device. In addition, the invention reduces the need for the color profile of the source device in order to support color management prior to outputting the image on a destination device. This results in decreased size of the color image data.
This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiment thereof in connection with the attached drawings.